package com.ebei.admin.model.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 菜单
 *
 * @author crazypenguin
 * @version 1.0
 * @created 2018/4/18
 */
@Data
@TableName("sys_menu")
public class SysMenu extends Model<SysMenu> {

    private static final long serialVersionUID = 1L;

    // （-1模块 0菜单 1按钮 2功能 3模块(app)）
    public static final String MENU_TYPE_MODEL = "-1";
    public static final String MENU_TYPE_CD = "0";
	public static final String MENU_TYPE_AN = "1";
	public static final String MENU_TYPE_GN = "2";
	public static final String MENU_TYPE_MK = "3";

    /**
     * 菜单ID
     */
    @TableId(value = "menu_id",type = IdType.INPUT)
	private Integer menuId;
    /**
     * 菜单名称
     */
    @TableField("menu_name")
	private String menuName;
    /**
     * 菜单权限标识
     */
    @TableField("permission")
	private String permission;
    /**
     * 请求链接
     */
    @TableField("url")
	private String url;
	/**
	 * 前端URL
	 */
    @TableField("path")
	private String path;
    /**
     * 请求方法
     */
    @TableField("method")
	private String method;
    /**
     * 父菜单ID
     */
	@TableField("parent_id")
	private Integer parentId;
    /**
     * 排序值
     */
    @TableField("sort")
    private Integer sort;
    /**
     * 菜单类型 （0菜单 1按钮 2功能 3模块）
     */
    @TableField("menu_type")
	private String menuType;
    /**
     * 设备类型(0电脑 1移动)
     */
    @TableField("device_type")
    private String deviceType;
    /**
     * 菜单编码
     */
    @TableField("menu_code")
    private String menuCode;
    /**
     * 创建时间
     */
	@TableField("create_time")
	private Date createTime;
    /**
     * 更新时间
     */
	@TableField("update_time")
	private Date updateTime;
    /**
     * 0--正常 1--删除
     */
	@TableField("del_flag")
	private String delFlag;

	@Override
	protected Serializable pkVal() {
		return this.menuId;
	}

}
